package com.yuanqi.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yuanqi.pojo.AttachmentTypeConfig;

import java.util.List;

/**
 * 附件类型配置服务接口
 */
public interface AttachmentTypeConfigService extends IService<AttachmentTypeConfig> {
    
    /**
     * 根据状态查询附件类型配置
     */
    List<AttachmentTypeConfig> getByStatus(Integer status);
    
    /**
     * 根据类型编码查询附件类型配置
     */
    AttachmentTypeConfig getByTypeCode(String typeCode);
    
    /**
     * 查询所有启用的附件类型配置（按排序顺序）
     */
    List<AttachmentTypeConfig> getEnabledOrderBySort();
    
    /**
     * 检查文件类型是否允许
     */
    boolean isFileTypeAllowed(String fileName, String typeCode);
    
    /**
     * 获取文件大小限制
     */
    long getMaxFileSize(String typeCode);
    
    /**
     * 获取允许的文件扩展名列表
     */
    List<String> getAllowedExtensions(String typeCode);
}
